package com.gopay.scheduler.job;

import com.gopay.common.constants.fund.FundFileSourceConstants;
import com.gopay.common.domain.fund.vo.FileBizParam;
import com.gopay.common.util.DateUtils;
import com.gopay.cps.service.FileHandlerService;
import com.gopay.scheduler.GopayBaseJob;
import org.apache.log4j.Logger;

import javax.annotation.Resource;
import java.util.Date;

/**
 * 基金支付：国付宝提供给基金公司的申购认购对账文件  T日17:00前生成   文件名称为T日 (数据来源为：结算时间为T+1的所有的申购认购订单)  包含支付成功和失败的
 * <p>
 * 前提条件是如果有认购交易的话
 */

public class FundAllocationCheckFileJob extends GopayBaseJob {
    private static final Logger logger = Logger.getLogger(FundAllocationCheckFileJob.class);

    @Resource(name = "fileHandlerService")
    private FileHandlerService fileHandlerService;

    @Override
    public void doJobInternal() {
        try {
            logger.info("国付宝提供给基金公司的申购认购对账文件生成定时任务开始！=============" + DateUtils.format(new Date()));
            FileBizParam fileBizParam = new FileBizParam(null, FundFileSourceConstants.CORN);
            fileBizParam.setReGeneration(false);
            fileBizParam.setLast(true);
            String checkFile = fileHandlerService.fundAllocationCheckFile(fileBizParam);
            logger.info("国付宝提供给基金公司的申购认购对账文件生成定时任务结果为 : " + checkFile + DateUtils.format(new Date()));
        } catch (Exception e) {
            logger.error("国付宝提供给基金公司的申购认购对账文件生成定时任务异常", e);
        }

    }


}
